gusucode.com > 《MATLAB图像与视频处理实用案例详解》代码 > 《MATLAB图像与视频处理实用案例详解》代码/第 15 章 基于小波的图像压缩技术/plot_wave_coef_join.m
function plot_wave_coef_join(cf_vec,dim_vec) dn = 3; num = (length(cf_vec)-1)/dn; tmpa = wkeep(cf_vec{1}, dim_vec(1, :), 'c'); tmpa = im2uint8(mat2gray(tmpa)); tmpa(1, :) = 255; tmpa(end, :) = 255; tmpa(:, 1) = 255; tmpa(:, end) = 255; for j = 1:num tmpv = wkeep(cf_vec{(j-1)*dn+2}, dim_vec(j, :), 'c'); tmph = wkeep(cf_vec{(j-1)*dn+3}, dim_vec(j, :), 'c'); tmpd = wkeep(cf_vec{(j-1)*dn+4}, dim_vec(j, :), 'c'); tmpv = im2uint8(mat2gray(tmpv)); tmph = im2uint8(mat2gray(tmph)); tmpd = im2uint8(mat2gray(tmpd)); tmpv(1, :) = 255; tmpv(end, :) = 255; tmpv(:, 1) = 255; tmpv(:, end) = 255; tmph(1, :) = 255; tmph(end, :) = 255; tmph(:, 1) = 255; tmph(:, end) = 255; tmpd(1, :) = 255; tmpd(end, :) = 255; tmpd(:, 1) = 255; tmpd(:, end) = 255; tmp = [tmpa,tmpv;tmph,tmpd]; stc = size(tmp); if stc >= dim_vec(j+1, :) tmpa = tmp(1:dim_vec(j+1, 1), 1:dim_vec(j+1,2)); else tmp = tmp([1:end-1, end-2:end-1], [1:end-1, end-2:end-1]); tmpa = tmp(1:dim_vec(j+1, 1), 1:dim_vec(j+1,2)); end tmpa = im2uint8(mat2gray(tmpa)); tmpa(1, :) = 255; tmpa(end, :) = 255; tmpa(:, 1) = 255; tmpa(:, end) = 255; end figure; imshow(tmpa, []); title('小波系数塔式图');